import { ajax, calcTimeHeader } from '../../utils/util.js'
let app = getApp()
Component({
  data: {
    userType: '',
    orderDetail: {},
    timeFlag: false,
    timeCount: ''
  },
  properties: {
    tabFixed: {
      type: Boolean
    }
  },
  ready () {
    let me = this
    let my_accid = app.globalData['loginUser']['account']
    let chat_accid = app.globalData['currentChatTo']
    this.getSession(my_accid, chat_accid)
    this.getOrder(my_accid, chat_accid)
    me.data.timeCount = setInterval(function () {
      if (me.data.timeFlag) {
        me.getOrder(my_accid, chat_accid)
      }
    }, 30000)
  },
  detached () {
    clearInterval(this.data.timeCount)
  },
  methods: {
    getSession (my_accid, chat_accid) {
      ajax('talk/getSession', {
        accid1: my_accid,
        accid2: chat_accid,
      }).then(res => {
        if (res.code == 0) {
          let data = res.data
          let userType = ''
          /**
           * 1、当前用户如果是主播角色：
           * 1.1：进入到别人主播的聊天界面，那么此时当前用户是客户
           * 1.2 进入到自己的聊天界面，那么此时自己是主播
           * 
           * 2、当前用户是客户角色 
           *
           */
          if (data.buyer_accid === data.seller_accid || my_accid === data.seller_accid) {
            // 此时是自己打开了自己的聊天界面
            console.log('当前用户是主播')
            userType = 2 // 主播
          } else if (my_accid === data.buyer_accid) {
            console.log('当前用户是客户')
            userType = 1 // 客户
          }
          this.setData({
            userType: userType
          })
        } else {
          console.log("没有订单");
        }
      })
    },
    getOrder (my_accid, chat_accid) {
      /**
      * INIT 已创建 
      * PAYED 已支付 
      * CANCELED 已取消 
      * SELLER_START 卖家请求开始 
      * DENY 已拒绝
      * ONGOING 进行中 
      * FINISH_AUTO 自动完成 
      * FINISH 完成 
      * REFUND 已退款
      */
      //订单状态映射表
      ajax('order/getOrder', {
        accid1: my_accid,
        accid2: chat_accid,
      }).then(res => {
        let data = res.data || {}
        if (res.code === 0) {
          // 主播与客户存在交易
          data.create_time = calcTimeHeader(data.create_time)
          data.plan_time = calcTimeHeader(data.plan_time)
          console.log(`订单状态:${data.status}`)
          data.status = app.globalData['orderstatus'][data.status]
        } else {
          data.status = -1
        }
        this.setData({
          orderDetail: data,
          timeFlag: true // 是否开启定时任务
        })
      })
    }
  }
})
